package com.situ.personal.service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.situ.personal.dao.UserRoleDao;
import com.situ.personal.entity.PageInfo;

public class UserRoleService {
	private UserRoleDao userRoleDao = new UserRoleDao();

	public PageInfo findByPage(int pageNo, int pageSize) {
		PageInfo pageInfo = new PageInfo();
		pageInfo.setPageNo(pageNo);
		pageInfo.setPageSize(pageSize);
		
		// totalPage 
		int count = userRoleDao.getTotalCount();
		int totalPage = (int)Math.ceil((double)count / pageSize);
		pageInfo.setTotalPage(totalPage);
		
		// list
		int offset = (pageNo - 1) * pageSize;
		List<Map<String, Object>> list = userRoleDao.findByPage(offset, pageSize);
		pageInfo.setList(list);
		
		return pageInfo;
	}

	public boolean deleteById(int userId, int roleId) {
		int count = userRoleDao.deleteById(userId, roleId);
		if (count == 1) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 
	 * @param userId 要分配角色的用户的id
	 * @param roleIdList 给这个用户添加的所有角色id组成的数组
	 * @return
	 */
	public boolean insert(int userId, ArrayList<Integer> roleIdList) {
		// userId:2
		// roleIdList: [1, 2, 3]
		// insert into user_role(user_id,role_id) values(2,1);
		// insert into user_role(user_id,role_id) values(2,2);
		// insert into user_role(user_id,role_id) values(2,3);
		for (Integer roleId : roleIdList) {
			userRoleDao.insert(userId, roleId);
		}
		return false;
	}

}
